Video processing systems are employed in various applications, including high-definition television, computer displays, and internet video streaming. Such applications often demand compact cost-effective systems for encoding, transmitting, and decoding high quality video relatively accurately, quickly, and efficiently.
Efficient video processing systems are particularly important in so-called H.264 applications, where video processing systems are the subject of strict standards. H.264 is digital video coding standard written by the Joint Video Team (JVT) comprising the International Telecommunication Union (ITU)—Telecommunication Standardization Sector (T) and the International Organization for Standardization (ISO)/International Electrotechnical Commission (IEC) Moving Picture Experts Group (MPEG). The H.264 standard is also called the ISO/IEC MPBG-4 Part 10 standard or the ITU-T H.264 standard.
In an example H.264 system, pixels of a video image are logically grouped into 16×16 blocks of pixels called macroblocks. The image is also partitioned into horizontal bands, called slices, each containing several macroblocks. Conventionally, a video frame is partitioned into multiple slices, and sub-optimal motion search methods are used due to relatively inefficient video processing methods and hardware speed constraints.